﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace gptDataType.Models
{
   public class PlcAddress
    {
        /// <summary>
        /// 变量所在的字节偏移量
        /// </summary>
        public int ByteOffset { get; set; }

        /// <summary>
        /// 在该字节内的位偏移量（0-7）
        /// </summary>
        public int BitOffset { get; set; }

        public PlcAddress(int byteOffset, int bitOffset = 0)
        {
            //// 规范化地址, 使其位偏移量在0-7之间
            //if (bitOffset >= 8)
            //{
            //    byteOffset += bitOffset / 8;
            //    bitOffset %= 8;
            //}

            ByteOffset = byteOffset;
            BitOffset = bitOffset;
        }

        public override string ToString() => $"Byte: {ByteOffset}, Bit: {BitOffset}";
    }
}
